<html>
<body>
报告连续多个 <code>java.io.File</code> 特性检查，例如：
<ul>
  <li><code>isDirectory()</code></li>
  <li><code>isFile()</code></li>
  <li><code>lastModified()</code></li>
  <li><code>length()</code></li>
</ul>
此类调用可被替换为批量 <code>Files.readAttributes()</code> 调用。
这通常比多个单独的特性检查性能更好。
<p>示例：</p>
<pre><code>
  boolean isNewFile(File file, long lastModified) throws IOException {
    return file.isFile() && file.lastModified() > lastModified;
  }
</code></pre>
<p>在应用快速修复后：</p>
<pre><code>
  boolean isNewFile(File file, long lastModified) throws IOException {
    var fileAttributes = Files.readAttributes(file.toPath(), BasicFileAttributes.class);
    return fileAttributes.isRegularFile() && fileAttributes.lastModifiedTime().toMillis() > lastModified;
  }
</code></pre>
<!-- tooltip end -->
<p>如果 <code>IOException</code> 在当前上下文中未被处理，则此检查不会显示警告，但快速修复仍然可用。</p>
<p>请注意，替换通常不完全相同，应谨慎使用。 特别是，如果文件根本不存在，行为可能会有所不同。</p>
<p>仅当项目或模块的语言级别为 7 或更高时，此检查才会报告。</p>
<p><small>2022.1 最新变化</small></p>
</body>
</html>